package com.myblog.demo.mapper;

import com.myblog.demo.entity.UserInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;

@Mapper
public interface UserMapper {

    // 注册
    int reg(UserInfo userInfo);

    // 登录
    // 只传递用户名，获取对象然后在判断密码
    UserInfo login(@Param("username") String username);

    // 获取用户信息
    UserInfo getUserInfoById(@Param("id") Integer id);

    // 保存上传的头像图片路径
    int savePhotoPath(@Param("path") String path, @Param("id") Integer id);

    // 修改昵称
    int updateNickname(@Param("nickname") String nickname, @Param("id") Integer id);

    // 修改gitee地址
    int updateGitee(@Param("gitee") String gitee, @Param("id") Integer id);


    // 当用户密码输入错误时，根据用户名增加 state 值
    int addStateByUsername(@Param("username") String username);

    // 当用户成功登录后，state 恢复默认值0
    int initStateByUsername(@Param("username") String username);

    // 更新用户的冻结时间
    int updateUpdateTime(UserInfo userInfo);

    // 根据 username 获取 state
    Integer getStateByUsername(@Param("username") String username);
}
